ডেটাবেস ডিজাইন এবং সম্পর্কিত ডেটাবেস ব্যবস্থাপনা সিস্টেম (RDBMS) এ Primary Key এবং Foreign Key দুটি গুরুত্বপূর্ণ কনসেপ্ট। এগুলি ডেটাবেসের টেবিলের মধ্যে সম্পর্ক স্থাপন এবং ডেটার অখণ্ডতা নিশ্চিত করার জন্য ব্যবহৃত হয়। নিচে Primary Key এবং Foreign Key এর ব্যবহার এবং তাদের ভূমিকা বিস্তারিতভাবে আলোচনা করা হলো।
Primary Key হল একটি কলাম বা কলামগুলির একটি সেট যা একটি টেবিলের প্রতিটি রেকর্ডকে এককভাবে চিহ্নিত করে। এর মানে হল যে, প্রাইমারি কিকে কোনো ডুপ্লিকেট বা শূন্য মান থাকতে পারে না।
ধরা যাক, একটি Employee টেবিল রয়েছে যেখানে প্রতিটি কর্মচারীর তথ্য সংরক্ষিত থাকে। এখানে Employee_ID হবে প্রাইমারি কী, কারণ প্রতিটি কর্মচারী একটি অনন্য আইডি দিয়ে চিহ্নিত হবে।
CREATE TABLE Employee (
Employee_ID INT PRIMARY KEY,
Name VARCHAR(100),
Age INT,
Department VARCHAR(50)
);
এখানে Employee_ID কলামটি Primary Key হিসেবে সেট করা হয়েছে। এর মানে হল যে, Employee_ID
কলামে কোনো ডুপ্লিকেট বা NULL মান থাকতে পারবে না।
Foreign Key হল একটি কলাম বা কলামগুলির একটি সেট যা অন্য একটি টেবিলের প্রাইমারি কির সাথে সম্পর্ক স্থাপন করে। এটি দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করে এবং রেফারেন্স করা ডেটার অখণ্ডতা নিশ্চিত করে।
ধরা যাক, একটি Department টেবিল রয়েছে যেখানে ডিপার্টমেন্টের তথ্য সংরক্ষিত থাকে। এবং Employee টেবিলের Department_ID কলামটি Department টেবিলের Department_ID প্রাইমারি কির রেফারেন্স হিসেবে কাজ করবে।
CREATE TABLE Department (
Department_ID INT PRIMARY KEY,
Department_Name VARCHAR(50)
);
CREATE TABLE Employee (
Employee_ID INT PRIMARY KEY,
Name VARCHAR(100),
Age INT,
Department_ID INT,
FOREIGN KEY (Department_ID) REFERENCES Department(Department_ID)
);
এখানে, Employee টেবিলের Department_ID একটি Foreign Key, যা Department টেবিলের Department_ID প্রাইমারি কির সাথে সম্পর্ক স্থাপন করে। এর মাধ্যমে, কর্মচারীরা শুধুমাত্র সেই ডিপার্টমেন্টে কাজ করতে পারে, যা Department টেবিলে ইতিমধ্যে সংজ্ঞায়িত রয়েছে।
এই সম্পর্কের মাধ্যমে, ডেটাবেসে অখণ্ডতা বজায় রাখা সম্ভব হয়, কারণ ডেটা একত্রিত এবং সঠিকভাবে রিলেটেড থাকে।
common.read_more